/********************************************************************
	created:	2012/03/26
	filename: 	Dx9FxMaterial.h
	author:		Mwolf
	
	purpose:	
*********************************************************************/

#ifndef Dx9FxMaterial_h__
#define Dx9FxMaterial_h__

#include <d3dx9.h>

struct Dx9FXMaterial;

bool			Dx9FX_InitModule();
void			Dx9FX_DeinitModule();

const char*		Dx9FX_GetLastErrorString();

Dx9FXMaterial*	Dx9FX_LoadEffectFromFile	( const char* filename );
void			Dx9FX_UnloadEffect			( Dx9FXMaterial* fxMat );

ID3DXEffect*	Dx9FX_GetD3DXEffect			( Dx9FXMaterial* fxMat );

void Dx9FX_UpdateSharedMatrices ( const D3DXMATRIX* pView, const D3DXMATRIX* pProj );
void Dx9FX_UpdateNonSharedMatrices ( Dx9FXMaterial* fxMat, D3DXMATRIX* pWorld );

#endif // Dx9FxMaterial_h__